/*
 * @lc app=leetcode.cn id=509 lang=java
 *
 * [509] 斐波那契数
 */

// @lc code=start
class Solution {
    public int fib(int n) {
        if(n<=1) return n;
        //1.确定dp数组及其下标含义
        int[] dp=new int[n+1];
        //2.递推公式：dp[i]=d[i-1]+dp[i-2]
        //3.dp初始化
        dp[0]=0;
        dp[1]=1; 
        //4.遍历顺序
        for(int i=2;i<dp.length;i++){
            dp[i]=dp[i-1]+dp[i-2];
        }
        return dp[n];
    }
}
// @lc code=end

